<?php

class Tecnico_controller extends Base_controller 
{
	function __construct($registry)
	{
		parent::__construct($registry);
		
		// Cargar models requeridos
		$this->registry->usuario_model = new Usuario_model();
		$this->registry->tipo_servicio_model = new Tipo_servicio_model();
		$this->registry->departamento_model = new Departamento_model();
		$this->registry->pais_model = new Pais_model();
		
	}
	
	public function index() 
	{					
		$this->registry->template->lista_tecnicos = $this->registry->usuario_model->getTecnicos();
		$this->registry->template->departamentos = $this->registry->departamento_model->getAll();
		$this->registry->template->paises = $this->registry->pais_model->getAll();
		
		$this->registry->template->view = 'gestiontecnicos';	
        $this->registry->template->show('layout');     
	}
	
	function modificar_tecnico($id)
	{
 		$this->registry->template->tecnico = $this->registry->usuario_model->get($id);
		
		$this->registry->template->view = 'modificartecnico';
		$this->registry->template->show('layout');
	}
	
	function modificar_estado_tecnico($id)
	{				 
		$usuario_original = $this->registry->usuario_model->get($id);

		$usuario_nuevo = new Usuario_model();		
		$activo = isset($_POST['activo']) ? null : '1';		
		$usuario_nuevo->setUsuarioActivo($id, $activo);
		
		$this->index();
	}
	
	public function redireccionarNuevoTecnico()
	{
		$this->registry->template->tipos_servicio = $this->registry->tipo_servicio_model->getAll();
		
		$this->registry->template->departamentos = $this->registry->departamento_model->getAll();
		$this->registry->template->paises = $this->registry->pais_model->getAll();
		
		$this->registry->template->view = 'insertar_tecnico';
		$this->registry->template->show('layout');
	}
	
	public function insertar()
	{		
		// Preguntaremos si se han enviado ya las variables necesarias
		if (!empty($_POST))
		{						
			//Traigo los valores de la vista
			$username = $_POST["nombres"];
			$email = $_POST["email"];
			$tipo = TIPO_USUARIO_TECNICO;
			$apellido = $_POST["apellidos"];
			$documento = $_POST["documento"];
				
			//$pais_fk = $_POST["pais_fk"];
			$pais_fk = $_REQUEST["pais_fk"];
			$departamento_fk = $_REQUEST["departamento_fk"];
			$barrio = $_POST["barrio"];
			$direccion = $_POST["direccion"];
			$celular = $_POST["celular"];
			$coordenadas = $_POST["coordenadas"];
			$password = $_POST["password"];
			$cpassword = $_POST["cpassword"];
				
			// Hay campos en blanco
			if($username==NULL || $password==NULL || $cpassword==NULL || $email==NULL)
			{
				$this->set_mensaje_error("Hay Campos Vacios");
			}
			else
			{
				if ($password != $cpassword)
				{
					$this->set_mensaje_error("Las Contraseñas no coinciden");
				}
				else
				{
					$usuario_model = new Usuario_model();
					$usuario_model->nombres = $username;
					$usuario_model->email = $email;
					$usuario_model->apellidos = $apellido;
					$usuario_model->barrio = $barrio;
					$usuario_model->celular = $celular;
					$usuario_model->coordenadas = $coordenadas;
					$usuario_model->departamento_fk = $departamento_fk;
					$usuario_model->direccion = $direccion;
					$usuario_model->documento = $documento;
					$usuario_model->pais_fk = $pais_fk;
					$usuario_model->password = sha1($password);
					$usuario_model->tipo = $tipo;
					$usuario_model->activo = 1;
					
					//Todo parece correcto procedemos con la inserccion					
					$id_usuario_insertado = $usuario_model->insert();
					
					//Insertamos en la base la tabla que relaciona al tecnico con los tipos de servicios que posee
					if (isset($_POST['chk_group'])) {
						$optionArray = $_POST['chk_group'];
	
						for ($i=0; $i < count($optionArray); $i++) {
							
							$precioHora = $_POST['precioHora' . $optionArray[$i]];
							
							$tecnico_tipo_servicio_model = new Tecnico_tipo_servicio_model();
							$tecnico_tipo_servicio_model->tecnico_fk = $id_usuario_insertado;
							$tecnico_tipo_servicio_model->tipo_servicio_fk = $optionArray[$i]; 
							$tecnico_tipo_servicio_model->precio_hora = $precioHora;						
							
							$tecnico_tipo_servicio_model->insert();
						}
					}
				 	$this->set_mensaje_exito("El Tecnico '$username' ha Sido Registrado de Manera Satisfactoria.");
				}
			}
		}
	
		$this->index();
	}
	
	function activo($id)
	{
		$usuario_nuevo = new Usuario_model();		
		$activo = '1';		
		$usuario_nuevo->setUsuarioActivo($id, $activo);
		$this->index();
	}
		function desactivo($id)
	{				 
		$usuario_nuevo = new Usuario_model();		
		$activo = '0';		
		$usuario_nuevo->setUsuarioActivo($id, $activo);
		$this->index();
	}
}

?>
